Skip to content

Scout job listings capability#38

Open
JackKora wants to merge 4 commits intonoamseg:mainfrom
JackKora:scout-job-listings
Open

Scout job listings capability#38
JackKora wants to merge 4 commits intonoamseg:mainfrom
JackKora:scout-job-listings

Conversation

@JackKora
Copy link
Copy Markdown

First, I want to say that I love this tool! And I want to contribute to it.

General Description

Adds an automated job search scanning capability to the interview coach. Candidates configure their job search URLs (LinkedIn, Indeed, Built In Chicago, etc.) once, then periodically run scout to check for new listings. The command reads each search page via Chrome, identifies listings the candidate hasn't seen before, scores each one for fit against the candidate's profile, and stores the results — surfacing only opportunities above a user-configured threshold. This can also be scheduled to run periodically. This capability requires Claude Chrome Extension to be enabled for Claude Code.

Key design decisions:

  • Profile-match scoring Fit is scored by comparing the listing against what we already know about the candidate (target roles, seniority, skills, comp expectations). No external research is performed per listing, keeping token usage minimal.
  • Two-file storage model. Above-threshold opportunities go in coaching_state.md for active tracking. Below-threshold opportunities go in opportunities_bad_fit.md solely for deduplication — preventing re-scoring on future runs. The bad-fit file has no archival threshold and grows unbounded (it's just a small table used as a lookup index).
  • Two-tier page reading. Sites like LinkedIn show enough detail on the search results page to score directly (Tier 1 — fast). Sites like Built In Chicago show only title + company and require clicking through to each listing (Tier 2 — slower but necessary). The command auto-detects which tier to use.
  • No auto-chaining. Scout stores results silently. The candidate decides when to review opportunities and whether to run decode, research, or prep for any of them.

Technical Details

Files created

  • references/commands/scout.md — Full command reference (220 lines). Contains: prerequisites, 6-step execution sequence, URL configuration flow, profile-match scoring rubric (5 factors with weights), output schema, storage schemas, status lifecycle, edge cases, threshold adjustment logic, schema migration notes, and archival rules.

Files modified

  • CLAUDE.md — Integrated scout across all relevant system sections:
    • Command Registry: Added scout entry
    • File Routing: Added routing rule (reads only references/commands/scout.md, uses Chrome browser tools)
    • Mode Detection: Added priority 14 — "scan for jobs" / "check for new listings" / "any new opportunities" intent
    • Multi-Step Intent: Added scout sequence ("Scan for new jobs" → scout → suggest decode/research for top matches)
    • State Update Triggers: Added scout trigger (saves Scout Config, Scout Opportunities, updates opportunities_bad_fit.md, updates Last scan date, auto-updates Status to "Pursuing" when other commands create Interview Loops for scouted opportunities)
    • Schema Migration: Added migration note for Scout Config / Scout Opportunities (no migration needed — created on first run)
    • coaching_state.md format: Added Scout Config and Scout Opportunities sections to the schema
    • Session Start Protocol: Added scout recommendation logic (Scout Config exists and last scan > 3 days ago → suggest scout)

Scoring model

5-point profile-match using 5 weighted factors:

Factor Weight Condition
Role match High Always
Seniority match High Always
Skills/requirements match Medium Always
Transition alignment Low Only when career transition is active
Comp match Medium Only when both listing comp AND candidate target range exist

Storage architecture

  • coaching_state.mdScout Config (URLs, threshold, last scan date) + Scout Opportunities table (above-threshold, with status tracking)
  • opportunities_bad_fit.md → append-only dedup table (below-threshold, no archival)
  • Dedup key: job title + company name (case-insensitive), checked against both files

Dependencies

  • Hard: Chrome extension (Cowork), candidate profile via kickoff
  • Soft: Resume Analysis (skills matching), Storybank (competency coverage), Comp Strategy (salary matching)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant